#ifndef FILEFILTERDIALOG_H
#define FILEFILTERDIALOG_H

#include <QDialog>
#include <QButtonGroup>
#include <QFileDevice>
#include <QStandardItemModel>
#include <QMessageBox>
#include <QFileDialog>
#include <QDir>
#include "mytypes.h"
#include "keyworddialog.h"

namespace Ui {
class FileFilterDialog;
}

class FileFilterDialog : public QDialog
{
    Q_OBJECT

public:
    explicit FileFilterDialog(Yzty::ToolCode type,QWidget *parent = nullptr);
    ~FileFilterDialog();

    void InitUi();          //初始化Ui配置

    Yzty::FileCheckCondition GetFilterCondition();

public slots:
    int exec();

    void SetDefaultValue();         //设置默认值

    void Tab1_Group1_Click();
    void Tab1_Group2_Click();
    void Tab1_Group3_Click();
    void Tab1_Group4_Click();

    void Tab1_FileTimeLimit_Line(int flag,const QDateTime& time);   //文件时间条触发
    //void Tab1_FileCheckMethod_Line(int nums);                       //文件检查策略触发
    void Tab1_FileSizeLimit_Line(int flag,int size);                //文件大小触发

    void SeePath_Button_Click();        //路径浏览
    void AddPath_Button_Click();        //添加路径
    void DeletePath_Button_Click();     //删除路径

    void Tab2_FileTypeSelect(int flag);


    void StartCheck_Button_Click();     //开始检查按钮按下
    void CancleCheck_Button_Click();


    void LoadKeyWordLib_Button_Click(); //从关键词库导入
    void Deletewordlib_Button_Click();     //删除项目
    void DefineWordLib_Button_Click();  //自定义关键词库

private:
    Ui::FileFilterDialog *ui;

    Yzty::FileCheckCondition _filtercondition;      //过滤条件

    QButtonGroup* _tab1_1g;
    QButtonGroup* _tab1_2g;
    QButtonGroup* _tab1_3g;
    QButtonGroup* _tab1_4g;

    QStandardItemModel* _pathmodel;
    QStandardItemModel* _keywordmodel;

    QVector<QCheckBox*> _micro;
    QVector<QCheckBox*> _jinsan;
    QVector<QCheckBox*> _openoffice;
    QVector<QCheckBox*> _otheroffice;
    QVector<QCheckBox*> _image;

    KeyWordDialog*      _kdialog;
    void SetPath_Default();    //添加默认路径：主目录
    void SetDefault_KeyWordLib();//
};

#endif // FILEFILTERDIALOG_H
